大家好,我是 Vivian,一個閒不下來的在職媽媽,目前是一名從事滲透測試工作的工程師。
我一直很喜歡挑戰新事物,也習慣每年替自己設定一個新目標,今年我想挑戰一次 iThome 鐵人賽看看。
參賽的原因,一方面是想逼自己練習持續輸出,畢竟很多事情只有真的說得出來、寫得出來,才知道自己是不是真的理解;另一方面,也想把今年準備並順利取得 HTB Certified Offensive AI Expert(COAE)證照期間學到的內容,重新整理後分享給對 AI 是如何被攻擊的有興趣的人,一起從攻擊者的視角認識 AI Security。
接下來 30 天,我會一層一層拆解 AI 系統可能面臨的攻擊面,內容會從生成式 AI、Prompt Injection、Agent、MCP 開始,再一路談到資料、模型與供應鏈等不同層面的攻擊方式。
先說明一下,這個系列不會公開任何付費教材的內容,我會把自己在 HTB Academy 的學習心得重新整理,再搭配公開框架、公開研究與公開靶場,用自己的理解分享出來,如果想更完整、系統化地學習,還是很推薦直接閱讀 HTB Academy、OffSec 等專業教材,建立更扎實的基礎。
第一次接觸生成式 AI 的時候,很多人會覺得它像魔法,只要輸入 Prompt 就能寫程式、整理文件、翻譯文章、分析資料,甚至替你操作工具,也因為這樣,大家在社群平台上常把 Prompt 稱作「咒語」。
但如果有人故意寫「壞咒語」呢?
這也是我決定把這個系列叫做 AI 黑魔法的原因,接下來的 30 天,我們要來看懂這些黑魔法是如何運作,以及可以怎麼保護。
AI 會成為攻擊目標,主要原因是現在的 AI 系統背後,往往連接著大量有價值的資料與資源。
一個 AI 應用可能接觸使用者個資、公司內部文件、程式原始碼、帳號資訊、商業機密與對話紀錄,其中對話紀錄往往是一般使用者最容易忽略的地方,因為裡面可能包含工作內容、內部資訊,甚至是未經整理的敏感資料。
除此之外,AI 應用也可能擁有查詢資料庫、呼叫 API、寄送信件、修改檔案,甚至操作內部系統的權限,對惡意使用者來說,真正有吸引力的是它能看到哪些資料、擁有哪些權限,以及能替使用者執行哪些操作。
再加上 AI 發展速度很快,許多系統的安全設計、權限控管與防禦方式仍在持續摸索和調整,所以攻擊者只要找到一個薄弱環節,就可能進一步取得敏感資料、濫用系統功能,甚至擴大對內部環境的影響。
從生成式 AI 的運作方式來看,許多安全問題其實和它的設計特性有關,LLM 會根據訓練資料和目前的上下文,持續預測下一個最可能出現的 Token,再把這些 Token 串成完整回答。
它很會生成內容,但不代表它真的理解自己說了什麼,也不一定分得清楚哪些是系統指令、哪些是使用者輸入,又有哪些內容只是來自文件、網頁或其他外部資料,幻覺、Prompt Injection 和 Jailbreak 等問題,都和這些特性脫不了關係。
此外現在的 AI 應用是一整個由資料、模型、RAG、Agent、外部工具、API 與系統組成的架構,每多串接一個元件,就可能多出新的資料流、權限與攻擊入口,因此在分析 AI Security 時,不能只盯著聊天視窗看,資料、模型、應用程式、工具權限、系統與供應鏈,都可能是攻擊面的一部分。
接下來的 30 天,我會花很多篇幅討論怎麼攻擊 AI 系統,但我更希望大家最後帶走的,是把 AI 當成一個系統來看的觀念,而不是單一模型或聊天機器人。
當你開始用這個角度看 AI,就會注意到很多以前忽略的問題:
這些問題都屬於 AI Security 的一部分。
我自己也還在持續學習,希望能透過這次鐵人賽,一邊整理自己的學習成果,一邊分享給同樣對這個領域有興趣的人,如果這 30 天的內容,能讓你對 AI 系統攻擊面多一點認識,也更了解 AI 系統的面臨風險,那就太好了。
下一篇,我們會先從一個很多人每天使用 AI 時都可能遇到,卻不一定知道原因的問題開始:AI 為什麼會一本正經地胡說八道?